This invention relates to a method of controlling the movements of a robot and, in particular, to a method suited for controlling the attitudes of a working tool held by the robot in a three-dimensional space.
Various methods of controlling robot movements have been invented in the past. Japanese Patent Examined Publication No. 61-2964 discloses a method according to which the hand's positions and attitudes of the robot are controlled in such a manner that the hand follows a desired path in a three-dimensional space. When performing an operation using a robot, it is desirable that the robot movements be controlled in accordance with the respective hand's positions and attitudes of the robot in the three-dimensional space, without depending on the arrangement of the degrees of freedom of the robot. In such a control process, interpolation is effected on the hand's positions and attitudes of the robot, which are given separately by teaching, and displacements at the different degrees of freedom of the robot satisfying the derived position and attitude are obtained, thereby effecting drive control. Alternatively, drive control is effected by obtaining speeds or torques (or forces) at the different degrees of freedom of the robot corresponding to the position and attitude derived by interpolation.
According to the method disclosed in the above-mentioned Japanese Patent Examined Publication No. 61-2964, a rectangular coordinate system is set up which is fixed with respect to the robot installation position and interpolation is effected between the positions and attitudes of two given points using positions related to this coordinate system and angles set on the basis thereof. By individually effecting linear interpolation of each of the parameters representing these positions and angles, the interpolation between the positions and attitudes of the two given points is achieved, obtaining the displacements of the robot at the respective degrees of freedom corresponding to the derived position and angle, thus effecting drive control. As disclosed in the above-mentioned patent publication and Japanese Patent Publication No. 60-51121, the teaching data for effecting this sort of control is stored as position coordinate values and angle coordinate values which are related to a rectangular coordinate system in correspondence with the control system described above.
In the above-described conventional technique, the robot attitude is represented as angle coordinate values related to a rectangular coordinate system and the values between the angle coordinate values corresponding to two given attitudes are obtained as intermediate angle coordinate values which are derived by individually interpolating each component, robot control being effected on the basis of these values. Methods of the type in which the attitude is expressed thus using angle coordinate values include the one using Euler's angles, which is shown in "Robot Manipulators" (by Paul, MIT Press), and the one using roll, pitch and yaw angles. The problem with these methods is that the angle coordinates values are indefinite for particular attitudes, resulting in conditions which do not allow such mode of expression to be adopted. In the case where Euler's angles are used, for example, the angle coordinates of the main axis N determining the attitude is given by a first angle .alpha. determined in the xy plane and a second angle .beta. determined in a plane perpendicular to the xy plane, as shown in FIG. 8. If the main axis N coincides with the Z-axis, the angle coordinate .alpha. can exist infinitely. This position is referred to as a singular point dependent upon the manner of expression. In this state, the attitude path of interpolation cannot be determined definitely.
The calculation with which the hand's position and attitude of the robot are obtained from the displacements at the respective degrees of freedom of the robot is called normal coordinate transformation. The transformation between the coordinate systems set before and after each degree of freedom is expressed in the form of a matrix. In this regard, generally used are methods in which the position and attitude on the basis of displacements at multiple degrees of freedom is obtained as the product of this transformation or else methods using vectors. Here, the attitude of the hand is obtained in the form of a direction cosine of base vectors of a coordinate system fixed to the hand with respect to a coordinates system fixed to the robot pedestal. For this to be transformed to an expression using angle coordinates such as Euler's angles, it has been conventionally necessary to perform a transformational calculation using an inverse trigonometral function, etc. The "Robot Manipulators" by Paul, mentioned above, gives in detail concrete examples of the above-described normal coordinate transformation and of the transformation between the direction cosine and Euler's angles.
On the other hand, the calculation for obtaining displacements at the respective degrees of freedom from the hand's position and attitude of the robot is called inverse coordinate transformation. As is apparent from the above, the displacements at the respective degrees of freedom of the robot have generally been obtained from angle coordinate values such as Euler's angles by first transforming the angle coordinate values into an expression using a direction cosine or the like and further transforming this into the displacements at the respective degrees of freedom. As a concrete example of this method, Japanese Patent Publication No. 61-2964, mentioned above, discloses a control method for a robot having five degrees of freedom, according to which calculation is repeated using the Newton-Raphson method. In correspondence with this method, Japanese Patent Publication No. 60-51121 discloses a method according to which position coordinate values and angle coordinate values with respect to a rectangular coordinate system are stored as information on points in the path of a robot movement. In this example, roll, pitch and yaw angles are used for representing angle coordinate values.
Next, to be described will be the attitude interpolation method. According to a method generally used, interpolation is effected through linear proportional distribution of the components of Euler's angles or roll, pitch, yaw angles at the initial and terminal interpolation ends. This method is also shown in the above-mentioned Japanese patent Publication No. 60-2964. In the case where such an interpolation method is adopted, the path, i.e., the way the robot hand or the working tool moves, varies apparently during interpolation depending on how the angle coordinate values are defined. For example, there exists a difference between the case where Euler's angles are used and the case where roll, pitch and yaw angles are used. Furthermore, the attitude interpolation path still differs among cases where Euler's angles are used, depending on the manner of defining the rectangular coordinate system which serves as the reference for its expression. This is due to the fact that the attitude interpolation is performed directing attention exclusively to those angle coordinate values which are expressed in terms of a particular rectangular coordinate system; in an angle coordinate system giving a three-dimensional rotation amount, no such addition theorem as is available in the case of position coordinate values holds good. Thus, in conventional methods, the attitude interpolation path depends on the manner of expression itself. Consequently, the robot movement is not necessarily easy to predict for the person teaching the path, with the result that the robot can make unexpected movements.